package com.wltt.product.ahuthr.service;

import com.wltt.product.ahuthr.model.ResultData;
import com.wltt.product.ahuthr.model.UserBasicStartSalaryReq;
import com.wltt.product.ahuthr.model.po.UserBasicPO;
import com.wltt.product.ahuthr.model.vo.*;
import com.wltt.product.ahuthr.service.base.BaseService;
import jakarta.servlet.http.HttpServletResponse;


/**
 * @ClassName: UserBasicService
 * @Description: 人员基本信息 逻辑服务类<br/>
 * @Date: 2024-05-17 09:03:14
 * @Author yanggl
 */
public interface UserBasicService extends BaseService<UserBasicPO, Long> {

    /**
     * 分页查询
     *
     * @return
     */
    ResultData listUser(ListUserBasicReq listUserBasicReq);

    /**
     * 分页查询登记列表
     *
     * @return
     */
    ResultData listUserBasicRegister(ListUserBasicRegisterReq req);

    /**
     * 分页查询起薪列表
     *
     * @return
     */
    ResultData listUserBasicStartSalary(ListUserBasicStartSalaryReq listUserBasicStartSalaryReq);

    /**
     * 分页查询审核列表
     *
     * @return
     */
    ResultData listUserBasicAudit(ListUserBasicAuditReq req);

    /**
     * 导出
     *
     * @return
     */
    void exportUserBasic(Long deptId, String userName, String userIdNumber, String jobNumber, HttpServletResponse response);

    /**
     * 详情
     *
     * @return
     */
    ResultData userBasicDetail(UserBasicDetailReq userBasicDetailReq);

    /**
     * 简单详情
     *
     * @return
     */
    ResultData userSimpleDetail(UserSimpleDetailReq userSimpleDetailReq);

    /**
     * 提交
     *
     * @return
     */
    ResultData submitUserBasic(SubmitUserBasicReq submitUserBasicReq);

    /**
     * 更新
     *
     * @return
     */
    ResultData updateUserBasic(UpdateUserBasicReq userBasicDetailReq);

    /**
     * 新增
     *
     * @return
     */
    ResultData addUserBasic(AddUserBasicReq addUserBasicReq);

    /**
     * 删除
     *
     * @return
     */
    ResultData deleteUserBasic(DeleteUserBasicReq deleteUserBasicReq);

    /**
     * 查询聘期考核人员
     *
     * @return
     */
    ResultData queryForEmploymentExamine(QueryForEmploymentExamineReq queryForEmploymentExamineReq);

    /**
     * 审核人员信息
     *
     * @return
     */
    ResultData auditUserBasicRegister(AuditUserBasicRegisterReq auditUserBasicRegisterReq);

    /**
     * 人员起薪
     *
     * @return
     */
    ResultData userBasicStartSalary(UserBasicStartSalaryReq userBasicStartSalaryReq);
}